home *** CD-ROM | disk | FTP | other *** search
/ F1 Licenseware / F1 Licenseware - Volume 1.iso / disks / 049b.dms / 049b.adf / MORE_SOURCE_CODE / inertia.AMOS / inertia.amosSourceCode < prev    next >
AMOS Source Code  |  1992-02-26  |  2KB  |  106 lines

  1. '
  2. 'INERTIA CONTROL 
  3. 'BY P.DUNN (HYBRID SOFTWARE) 
  4. 'FOR F1 P.D  
  5. '  
  6. 'PLEASE NOTE!
  7. '
  8. 'I have recently noticed this code bears a striking resemblence  
  9. 'to another amos game which i have seen,this is purely coincidentle
  10. '
  11. 'feel free to do anything with this code and the sprites if their of any use to you
  12. '
  13. '(Oh yeah please excuse my spelling!!) 
  14. '
  15. Screen Open 0,320,256,16,Lowres : Curs Off : Flash Off : Cls 0 : Unpack 10 To 0 : Double Buffer 
  16. Hide : Get Sprite Palette : Update Off 
  17. Close Workbench : Close Editor 
  18. Global S,X#,Y#,DX#,DY#
  19. GAMESETUP
  20. '
  21. '
  22. '
  23. '
  24. '
  25. '
  26. '
  27. MAIN:
  28. CHECKDIRECTION
  29. CHECKBOUNDRY
  30. If DX#>4 Then DX#=4
  31. If DY#>4 Then DY#=4
  32. If DX#<-4 Then DX#=-4
  33. If DY#<-4 Then DY#=-4
  34. X#=X#+DX#
  35. Y#=Y#+DY#
  36. If Chanmv(2)=0 Then Bob Off 2
  37. If Fire(1)=-1 and Chanmv(2)=0 Then Bob Off 2 : SHOT
  38. Bob 1,X#,Y#,S
  39. Update 
  40. Wait Vbl 
  41. Goto MAIN
  42. '
  43. '
  44. '
  45. '
  46. '
  47. '
  48. '
  49. Procedure CHECKDIRECTION
  50. If Jup(1)=-1 Then UP
  51. If Jup(1)=-1 and Jright(1)=-1 Then UPRIGHT : S=8
  52. If Jright(1)=-1 Then RIGHT : S=8
  53. If Jright(1)=-1 and Jdown(1)=-1 Then DWNRIGHT : S=8
  54. If Jdown(1)=-1 Then DWN
  55. If Jdown(1)=-1 and Jleft(1)=-1 Then DWNLEFT : S=7
  56. If Jleft(1)=-1 Then LEFT : S=7
  57. If Jleft(1)=-1 and Jup(1)=-1 Then UPLEFT : S=7
  58.    If DX#<0 Then DX#=DX#+0.005
  59.    If DX#>0 Then DX#=DX#-0.005
  60.    If DY#<0 Then DY#=DY#+0.005
  61.    If DY#>0 Then DY#=DY#-0.005
  62. End Proc
  63. Procedure UP
  64.    DY#=DY#-0.08
  65. End Proc
  66. Procedure UPRIGHT
  67.    DX#=DX#+0.08
  68.    DY#=DY#-0.08
  69. End Proc
  70. Procedure RIGHT
  71.    DX#=DX#+0.08
  72. End Proc
  73. Procedure DWNRIGHT
  74.    DX#=DX#+0.08
  75.    DY#=DY#+0.08
  76. End Proc
  77. Procedure DWN
  78.    DY#=DY#+0.08
  79. End Proc
  80. Procedure DWNLEFT
  81.    DX#=DX#-0.08
  82.    DY#=DY#+0.08
  83. End Proc
  84. Procedure LEFT
  85.    DX#=DX#-0.08
  86. End Proc
  87. Procedure UPLEFT
  88.    DX#=DX#-0.08
  89.    DY#=DY#-0.08
  90. End Proc
  91. Procedure CHECKBOUNDRY
  92.    If X Bob(1)=<-25 Then Bob 1,324,, : X#=X Bob(1)
  93.    If X Bob(1)=>325 Then Bob 1,-24,, : X#=X Bob(1)
  94.    If Y Bob(1)=<-25 Then Bob 1,,199, : Y#=Y Bob(1)
  95.    If Y Bob(1)=>200 Then Bob 1,,-24, : Y#=Y Bob(1)
  96. End Proc
  97. Procedure GAMESETUP
  98.    X#=160 : Y#=100 : DX#=0 : DY#=0 : S=7
  99.    Bob 1,X#,Y#,S
  100.    End Proc
  101. Procedure SHOT
  102. SHOT$="A:For R1=1 To 20;Let X=X-6;Next R1;"
  103. SHOT1$="A:For R1=1 To 20;Let X=X+6;Next R1;"
  104. If I Bob(1)=7 Then Bob 2,X#-65,Y#+4,9 : Channel 2 To Bob 2 : Amal 2,SHOT$ : Amal On 2
  105. If I Bob(1)=8 Then Bob 2,X#+25,Y#+4,10 : Channel 2 To Bob 2 : Amal 2,SHOT1$ : Amal On 2
  106. End Proc